import {Loading} from 'element-ui';
import i18n from "@/i18n";

// loading实例
let instance = null


/**
 * 打开loading
 * @param options
 */
export const openLoading = (options) => {
    // console.log('openLoading', options)
    // 每次调用时判断是否存在实例，如果存在则无需重复调用
    if (instance != null) {
        // console.log('无需重复调用')
        return
    }

    const defaultOptions = {
        // 需要遮罩的区域
        // target: '.main',
        // 是否锁屏
        lock: true,
        // 加载动画的文字
        text: i18n.t('m.Loading'),
        // 引入的loading图标
        spinner: '',
        // 背景颜色
        // background: 'rgba(255, 255, 255, 0.7)',
        background: 'transparent',
    }
    // 合并默认options和自定义options
    Object.assign(defaultOptions, options)
    instance = Loading.service(defaultOptions)
    // 设定定时器，超时nS后自动关闭遮罩层，避免请求失败时，遮罩层一直存在的问题
    setTimeout(() => {
        // 关闭遮罩层
       closeLoading()
    }, 30000)
}


/**
 * 关闭loading
 */
export const closeLoading = () => {
    if (instance != null) {
        instance.close()
        // 关闭loading后销毁loading实例
        instance = null
    }
}


// let loadingCount = 0;
// let loading;
//
// const startLoading = () => {
//
//     loading = Loading.service({
//         // target: document.querySelector('.index_right'),
//         lock: true,
//         text: i18n.t('m.Loading'),
//         background: 'rgba(255, 255, 255, 0.7)'
//     });
// };
//
//
// export const showLoading = () => {
//     if (loadingCount === 0) {
//         startLoading();
//     }
//     loadingCount += 1;
// };
//
// export const hideLoading = () => {
//     if (loadingCount <= 0) {
//         return;
//     }
//     loadingCount -= 1;
//     if (loadingCount === 0) {
//         loading.close();
//     }
// };
